import { memo } from 'react'
import { Pagination } from 'antd'
import PropType from 'prop-types'

/**
 *
 * total:
 * defaultPageSize:
 * current: 当前页
 * onChange
 *
 * 分页接口
 * 1. 刚上来请求一次 （page, size）
 * 2. page变化的时候请求 （page-1,size）
 * 3. size变化的时候请求 （page, size-1）
 * 4. 跳转的时候请求一次 （page-1, size）
 *
 */

const MyPagination = memo((props) => {
  const { total, onChange, current, size, onShowSizeChange } = props
  return (
    <Pagination
      total={total}
      current={current}
      defaultCurrent={current}
      defaultPageSize={size}
      onChange={(page, pageSize) => {
        onChange && onChange(page, pageSize)
      }}
      pageSizeOptions={[5, 10, 15, 20]}
      onShowSizeChange={(current, size) => {
        onShowSizeChange && onShowSizeChange(current, size)
      }}
      showSizeChanger
      showQuickJumper
    ></Pagination>
  )
})

MyPagination.propType = {
  total: PropType.number,
}

MyPagination.defaultProps = {
  current: 1,
}

export default MyPagination
